From: Marina Zhurakhinskaya Date: Fri, 7 Aug 2009 20:45:35 +0000 (-0400) Subject: Enable hot corner for triggering the overview mode X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~11138 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ccafa53bd62a63d81adc20f554518ac2a6019204;p=gnome-shell.git Enable hot corner for triggering the overview mode Use the 1x1 actor in the top left corner of the screen to enter and leave the overview mode by just moving the mouse over to it. No delay is used for triggering the hot corner because a delay significant enough to allow moving away the mouse to avoid triggering it ruins the desired flow when triggering the hot corner is actually intended. The hot corner is not enabled in the full screen mode because the application or the virtual system might have a hot corner of its own in that place. --- diff --git a/js/ui/panel.js b/js/ui/panel.js index 6c432f644..d8ac1ac6e 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -76,6 +76,22 @@ Panel.prototype = { box.append(this.button.button, Big.BoxPackFlags.NONE); + let hotCorner = new Clutter.Rectangle({ width: 1, + height: 1, + opacity: 0, + reactive: true }); + + // In addition to being triggered by the mouse enter event, the hot corner + // can be triggered by clicking on it. This is useful if the user wants to + // immediately undo the effect of triggering the hot corner once in the + // hot corner. + hotCorner.connect('enter-event', + Lang.bind(this, this._onHotCornerTriggered)); + hotCorner.connect('button-release-event', + Lang.bind(this, this._onHotCornerTriggered)); + + box.add_actor(hotCorner); + let statusbox = new Big.Box(); let statusmenu = this._statusmenu = new Shell.StatusMenu(); statusmenu.get_icon().hide(); @@ -201,5 +217,10 @@ Panel.prototype = { this._clock.set_text(displayDate.toLocaleFormat("%a %l:%M %p")); Mainloop.timeout_add(msecRemaining, Lang.bind(this, this._updateClock)); return false; - } + }, + + _onHotCornerTriggered : function() { + Main.overlay.toggle(); + return false; + } };